// Package dto internal/entity/dto/menu_dto.go
package dto

import (
	"gozrd-admin-api/internal/entity/model"
	"time"
)

// RoleMenuDto RoleMenu 角色id,菜单id视图
type RoleMenuDto struct {
	Id      int   `json:"id" binding:"required"`      // ID
	MenuIds []int `json:"menuIds" binding:"required"` // 菜单id列表
}

// Id参数
type SysMenuIdDto struct {
	Id int `json:"id"` // ID
}

//SysMenuDto

// SysMenuDto 菜单模型
type SysMenuDto struct {
	ID         int          `gorm:"primaryKey;autoIncrement" json:"id"`
	ParentID   *int         `json:"parent_id"`                   // 父级菜单ID
	MenuName   string       `json:"menu_name"`                   // 菜单名称
	Icon       string       `json:"icon"`                        // 图标
	Value      string       `json:"value"`                       // 接口权限值
	MenuType   int          `json:"menu_type"`                   // 菜单类型：1->目录；2->菜单；3->按钮（接口绑定权限）
	URL        string       `json:"url"`                         // 菜单URL
	MenuStatus int          `json:"menu_status"`                 // 启用状态；1->禁用；2->启用
	Sort       int          `json:"sort"`                        // 排序
	CreateTime *time.Time   `json:"create_time"`                 // 创建时间
	Children   []model.Menu `gorm:"-" json:"children,omitempty"` // 子菜单
}
